package academic.ui.client;

import java.util.ArrayList;

import ecommerce.soco.shared.GWT_City;
import ecommerce.soco.shared.GWT_Customer;
import ecommerce.soco.shared.GWT_Discussion;
import ecommerce.soco.shared.GWT_Event;
import ecommerce.soco.shared.GWT_Message;
import ecommerce.soco.shared.GWT_Product;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("academic.ui.server.AppServiceImpl.gwt")
public interface AppService extends RemoteService {
	
	public GWT_Customer getUser();
			
	public GWT_Product getFullProduct(Integer id);
	
	public GWT_Product getCurrentProduct();
		
	public Boolean isLoggedIn();		
	
	public Boolean logout();	
	
	public ArrayList<GWT_Product> getActiveProducts();
	
	public ArrayList<GWT_Product> getRecentProducts();
	
	public ArrayList<GWT_Product> getFullWithActiveProducts(Integer productID);
	
	public ArrayList<GWT_City> getParticipatingCities();
	
	public Boolean updateCity(String city_id);
	
	public Boolean setCity();
	
	public Boolean appReset();
	
	public Boolean submitEmailToList(String email);
	
	public Boolean loginFBUser(String email);
	
	public GWT_Discussion getDiscussion(String productID);
	
	public GWT_Message updateDiscussion(String productID,String message,Boolean addFollower);
	
	public GWT_Event createEvent(GWT_Event event); 
}
